import pandas as pd
data = {
   '年份': ['2020', '2021', '2022', '2023', '未知'],
   '人口(万)': ['2400.5', '2412', '2425.3', '2438.9', '-'],
   'GDP(亿元)': ['17,000', '18500', '19,200', '20500', '缺失'],
   '行政区划': ['呼和浩特', '包头', '赤峰', '呼伦贝尔', '鄂尔多斯']
}
df = pd.DataFrame(data)
# 1. 处理数值列（含千分位和无效值）
df['GDP(亿元)'] = df['GDP(亿元)'].str.replace(',', '').replace('缺失', '')
df['GDP(亿元)'] = pd.to_numeric(df['GDP(亿元)'],
              errors='coerce')
# 2. 转换年份为时间戳（过滤无效值）
df['年份'] = pd.to_datetime(df['年份'], format='%Y',
              errors='coerce')
# 3. 优化内存
df['行政区划'] = df['行政区划'].astype('category')
# 4. 强制转换人口为浮点型（需先清理数据）
df['人口(万)'] = df['人口(万)'].replace('-', 'NaN').astype(float)
print(df)
